// pages/feedback/feedback.js
/**
 *  1. 图片上传
 *    0. wx.uploadFile  上传后,服务器返回一个外网的服务地址, 
 *    1. 全部图片上传成功后, 并且都返回外网的地址, 再和其他文字一起上传到服务器
 *  */
import { showToast, uploadFile } from '../../util/tool.js'
import regeneratorRuntime from '../../lib/runtime/runtime';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs: [
      {
        id: 0,
        value: "体验问题",
        isActive: true
      },
      {
        id: 1,
        value: "商品&商家投诉",
        isActive: false
      }
    ],
    // 选中的图片
    chooseImage: [],
    // 图片上传后返回来的地址, 然后在和文字内容一起上传到服务器
    uploadedImgs: [],
    // 文本域内容
    textValue: ''
  },
  // =================== 事件监听 ============
  handleTabsItemsClick(e) {
    let { tabs } = this.data;
    let { index } = e.detail;
    tabs.forEach((el, i) => {
      index == i ? el.isActive = true : el.isActive = false;
    });

    this.setData({
      tabs
    });
  },
  handleChooseImg() {
    wx.chooseImage({
      count: 9,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: (result) => {
        this.setData({
          chooseImage: [...this.data.chooseImage, ...result.tempFilePaths]
        })
      }
    });
  },
  handleRemoveImg(et) {
    const { index } = et.detail;
    let { chooseImage } = this.data;
    chooseImage.splice(index, 1)
    this.setData({
      chooseImage
    })
  },
  handlePreviewImg(et) {
    const index = et.detail;
    wx.previewImage({
      current: this.data.chooseImage[index],
      urls: this.data.chooseImage
    });
  },
  // 文本域输入内容
  handleTextInput(e) {
    const { value } = e.detail;

    this.setData({
      textValue: value
    })
  },
  // 提交表单数据
  async handleFormSubmit() {
    // 1. 验证表单数据
    const { textValue, chooseImage } = this.data;
    if (!textValue.trim()) {
      showToast({
        title: '问题内容不能为空'
      })
      return
    }
    // 2. 先将图片传到服务器, 获取到网络地址
    wx.showLoading({
      title: "正在提交",
      mask: true
    });
    
    setTimeout(()=> {
      showToast({title:'提交成功', icon: "success"})

      this.setData({
        chooseImage: [],
        textValue:''
      })
    },2000)


  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})